package com.bidepan.big_event.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.groups.Default;
import lombok.Data;
import org.apache.ibatis.annotations.Update;

import java.time.LocalDateTime;

@Data//此注解是lombok依赖所提供的，在编译时可以自动生成get,set方法，包括toString()方法
public class Category {
    @NotNull(groups = Update.class)
    private Integer id;//主键ID
    @NotEmpty//(groups = {Add.class,Update.class})    //未指定分组默认属于Default分组
    private String categoryName;//分类名称
    @NotEmpty//(groups = {Add.class,Update.class})    //未指定分组默认属于Default分组
    private String categoryAlias;//分类别名
    @JsonIgnore
    private Integer createUser;//创建人ID
    @JsonFormat(pattern="yyyy-MM-dd HH-mm-ss")
    private LocalDateTime createTime;//创建时间
    @JsonFormat(pattern="yyyy-MM-dd HH-mm-ss")
    private LocalDateTime updateTime;//更新时间

    /*
     * 分组校验
     * 如果某个校验项未指定分组，则默认属于Default分组
     * 分组之间可以继承，A extends B，那么A中拥有B中所有的校验项
     */
    public interface Add extends Default {

    }
    public interface Update extends Default{

    }
}
